home *** CD-ROM | disk | FTP | other *** search
/ EnigmA Amiga Run 1996 March / EnigmA AMIGA RUN 05 (1996)(G.R. Edizioni)(IT)[!][issue 1996-03][Skylink CD IV].iso / earcd / util4 / noiz.lha / noiz.doc < prev   
Text File  |  1996-01-16  |  6KB  |  153 lines

  1. NAME
  2.  
  3.         noiz -- a simple package for accumulating and dispensing
  4.                 cryptographically-strong noise, using MD5 as
  5.                 a stirring function
  6.  
  7. ANTICOPYRIGHT
  8.  
  9.         Anticopyright (A) 1995 Henry Strickland <strick@yak.net>
  10.         This package is placed this package in the public domain.
  11.  
  12.         Because this package is free, there is no warranty
  13.         for it whatsoever.  Caveat hacker.
  14.  
  15.         This is alpha-quality software.  It seemed to work for
  16.         me, but it may not do what I say it does.
  17.  
  18.         The MD5 implementation is by Colin Plumb (1993),
  19.         and is also in the public domain.
  20.  
  21.         Amiga Port by C.R. 'Magius' Hahn.
  22.  
  23.  
  24. -----------------------------------------------------------------------
  25.  
  26.  
  27.         Amiga-NOIZ uses the standard AmigaDOS 'ReadArgs' interface.
  28.  
  29.         Template:
  30.         FILE/K,TO/K,STIR/S,ASCII/S,INIT/S
  31.  
  32.         Usage:
  33.         NOIZ [FILE <noizfile>] [TO <outfile>] [STIR] [ASCII] [INIT]
  34.  
  35.  
  36.             FILE  - The full path of the noise state file.  If not given,
  37.                     the default, "S:noiz" will be used.  Noiz also
  38.                     checks the environment variable, NOIZFILE.
  39.  
  40.             TO    - The destination file for output.
  41.  
  42.             STIR  - This specifies that NOIZ should 'stir' the state file
  43.                     before using it.
  44.  
  45.             ASCII - Specifies that output should be in human-readable
  46.                     form.
  47.  
  48.             INIT  - Specifies that the noise state file should be
  49.                     created and initialized.
  50.  
  51.  
  52.  
  53.         NOIZ will always create and initialize S:noiz if it does not
  54.             already exist.  The INIT switch is therefore not necessary.
  55.             NOIZ will never re-initialize S:noiz if it is found to
  56.             exist, even if INIT is given.
  57.  
  58.         Once S:noiz is created, it must be stirred several times before
  59.             it can be used to produce output.  The command, "NOIZ STIR",
  60.             entered several times, will accomplish this.
  61.  
  62.         After this is done, random noise can be produced, 16 bytes at
  63.             a time, by running NOIZ with no parameters.  NOTE: it is
  64.             a good idea to 'stir' S:noiz periodically.
  65.  
  66.         There is some interaction between the command-line parameters,
  67.             which produces some rather obscure behavior.  Specifically,
  68.             the 'TO' keyword and the 'ASCII' keyword implicitly instruct
  69.             NOIZ to output some random noise.  If neither of these are
  70.             given on the command line, noiz will produce output only
  71.             if neither of 'STIR' or 'INIT' are given.  Output will be
  72.             binary unless 'ASCII' is given, with the exception that if
  73.             'TO' is NOT given, output will be in human readable form,
  74.             regardless of whether 'ASCII' was given or not.
  75.             Confused yet?  Don't worry, it's actually more intuitive
  76.             than it sounds.
  77.  
  78.         If the default path, "S:noiz", is undesirable for any reason,
  79.             it can be overridden by the contents of the environment
  80.             variable, "NOIZFILE".  However, the environment variable
  81.             will, in turn, be overridden by the 'FILE' keyword on the
  82.             command line.
  83.  
  84.  
  85.         Examples:
  86.  
  87.             NOIZ STIR
  88.                 - stir S:noiz
  89.  
  90.             NOIZ
  91.                 - produce 16 bytes human-readable output noise
  92.  
  93.             NOIZ ASCII STIR
  94.                 - stir S:noiz and then produce 16 bytes human-readable
  95.                   output noise
  96.  
  97.             NOIZ TO afile
  98.                 - produce 16 bytes of noise, and write them to "afile",
  99.                   in binary form
  100.  
  101.             NOIZ TO bfile ASCII
  102.                 - produce 16 bytes of noise, and write them to "bfile",
  103.                   in human-readable form
  104.  
  105.             NOIZ FILE S:morenoiz
  106.                 - produce 16 bytes human-readable output noise, using
  107.                   S:morenoiz instead of S:noiz
  108.  
  109.             NOIZ STIR TO cfile
  110.                 - stir S:noiz and then produce 16 bytes of noise,
  111.                   written to "cfile" in binary form.
  112.  
  113.  
  114. NOTES:
  115.  
  116.   - The original "noizspin" program is not usable under AmigaOS.  It
  117.     has been replaced by using rand() from the standard C library.  As
  118.     I know little of the ways of entropy and other mysterious forces 8),
  119.     I cannot say what adverse effects this may have on the quality of
  120.     the output.  (Discretion advised!)  rand() is seeded (using srand())
  121.     with the XOR of the result of time() and Amiga EXEC FindTask(), which
  122.     returns the address (in RAM) of the program's task structure.  (Note
  123.     that while the task structure is not guaranteed to reside at a
  124.     different address on each invokation of NOIZ, nor is it guaranteed
  125.     to reside at the same address.  The value returned by FindTask() will
  126.     depend heavily on how much RAM your system has, what OS revision you
  127.     have, and what other program or programs you are running or have run
  128.     previous to running NOIZ - this includes anything introduced by your
  129.     startup-sequence, user-startup, or WBStartup.)
  130.  
  131.   - The original noiz uses the pid and ppid in stirring and generating
  132.     output.  As these do not exist under AmigaOS, I have replaced pid
  133.     with a result from rand(), and ppid with the result of FindTask().
  134.     Note that while the return of FindTask() is not particularly
  135.     unpredictable between successive calls, it is much less predictable
  136.     between machines (everyone has their system configured just a bit
  137.     differently), which is part of the reason why I have used it.
  138.  
  139.   - NOIZ is pure and may be made resident, so if the archiving process
  140.     has screwed up the protection bits, you may set the P bit now.
  141.  
  142.   - The AmigaDOS 'version' command will report noiz as version 0.5,
  143.     even though "version zero" is not normal practice under AmigaOS.
  144.     Why? - Because calling it "V1.0" or whatever would only create
  145.     headaches for all of us.
  146.  
  147.  
  148. For more information, see the docs from the original noiz-0.5 package,
  149. by Henry Strickland <strick@yak.net>   (noiz_orig.doc)
  150.  
  151.  
  152.  
  153.